package com.cyt.reward.service;

import com.cyt.base.model.dto.ReturnResult;
import com.cyt.reward.model.po.RewardRecord;
import com.cyt.reward.model.vo.RewardRecordVo;
import com.cyt.sys.model.po.SysUser;
import com.cyt.sys.service.BaseService;

import java.util.List;
import java.util.Map;

/**
 * 打赏功能-打赏记录Service层接口类
 *
 * @author rong yuan
 * @date 2019-7-24 13:44:53
 */
public interface RewardRecordService extends BaseService<RewardRecord> {

    /**
     * 分页查询
     *
     * @param rewardRecordVo 接受参数对象
     * @param pageNum        分页数
     * @param pageSize       每页显示条数
     * @return ReturnResult
     * @author rong yuan
     * @date 2019-7-24 13:44:53
     */
    ReturnResult page(RewardRecordVo rewardRecordVo, int pageNum, int pageSize);

    /**
     * 添加或更新
     *
     * @param rewardRecordVo 参数接受对象
     * @param sysUser        当前用户
     * @return ReturnResult
     * @author rong yuan
     * @date 2019-7-24 13:44:53
     */
    ReturnResult addOrUpdate(RewardRecordVo rewardRecordVo, SysUser sysUser);

    /**
     * 昨日赏金统计
     *
     * @param rewardRecordVo 参数接受对象
     * @return double
     * @author rong yuan
     * @date 2019/7/26 08:13
     */
    double statisticsMoney(RewardRecordVo rewardRecordVo);

    /**
     * 支付成功修改状态
     *
     * @param id       支付记录ID
     * @param wechatNo 订单号
     * @author rong yuan
     * @date 2019/7/26 13:56
     */
    void updateAfterPay(String id, String wechatNo);

    /**
     * 首页统计
     *
     * @param rewardRecordVo 参数接受对象
     * @return List<Map>
     * @author rong yuan
     * @date 2019-8-19 11:24
     */
    List<Object> statistics(RewardRecordVo rewardRecordVo);
}